Algoritmos e Técnicas de Programação

Aula 02
Prof. Dr. Raulcézar Alves
raulcezar@gmail.com

Algoritmo

  • Imagine que você está saindo de casa para a faculdade e de repente percebe que o pneu do veículo está furado.
  • Trocar um pneu pode ser uma tarefa difícil.

Algoritmo

    Descreva os passos necessários para a troca desse pneu

Algoritmo

    Descreva os passos necessários para a troca desse pneu
  • Desparafusar a roda.
  • Levantar o carro.
  • Remover a roda.
  • Colocar o estepe.
  • Parafusar a roda.
  • Abaixar o carro.

Algoritmo

    Descreva os passos necessários para a troca desse pneu
  • Desparafusar a roda.
  • Levantar o carro.
  • Remover a roda.
  • Colocar o estepe.
  • Parafusar a roda.
  • Abaixar o carro.

Denominamos essa sequência de instruções (passos) de algoritmo.

Algoritmo

    Definições
  • "Seqüência básica de instruções que conduzem a solução de um problema."
  • "É uma descrição das etapas de resolução de um problema ou a indicação ordenada de uma seqüência de ações bem definidas."
  • "O algoritmo é, em sua forma mais simplificada, a maneira mais elementar de se descrever uma lógica."

Algoritmo

Computador não tem senso próprio! Deve receber instruções explícitas (algoritmos).
    Um algoritmo correto deve possuir 3 qualidades:
  • Cada passo do algoritmo deve ser uma instrução que possa ser realizada.
  • A ordem dos passos deve ser precisamente determinada.
  • O algoritmo deve ter fim.

Algoritmo

    Método para a construção de algoritmo:
  • Compreender completamente o problema a ser resolvido.
  • Definir os dados de entrada.
  • Definir o processamento (cálculos que serão efetuados).
  • Definir os dados de saída.
  • Construir o algoritmo utilizando um dos tipos a seguir.
  • Testar o algoritmo realizando simulações.

Algoritmo

    Tipos de Algoritmos:
  • Descrição Narrativa.
  • Fluxograma
  • Pseudocódigo ou Portugol

Algoritmo

    Descrição Narrativa
  • Consiste em analisar o enunciado do problema e escrever, em uma linguagem natural, os passos a serem seguidos para sua resolução.
  • Vantagem: não é necessário nenhum conceito novo, pois a língua já é conhecida.
  • Desvantagem: a língua natural abre espaço para várias interpretações, o que dificultará a transcrição do algoritmo para programa.

Algoritmo

    Descrição Narrativa: Exemplo - multiplicar 2 números.
  • Passo 1: Receber os dois números que serão multiplicados.
  • Passo 2: Multiplicar os números.
  • Passo 3: Mostrar o resultado obtido na multiplicação.

Algoritmo

    Fluxograma
  • Consiste em analisar o enunciado problema e escrever, utilizando símbolos gráficos predefinidos, os passos a serem seguidos para sua resolução.
  • Vantagem: o entendimento de elementos gráficos é mais simples que o entendimento de textos.
  • Desvantagem: é necessário aprender a simbologia dos fluxogramas, além disso, o algoritmo resultante não apresenta muitos detalhes, dificultando a transcrição para programa.

Algoritmo

Fluxograma

Algoritmo

Fluxograma: Exemplo - multiplicar 2 números.

Algoritmo

    Pseudocódigo ou Portugol
  • Consiste em analisar o enunciado problema e escrever, por meio de regras predefinidas, os passos a serem seguidos para sua resolução.
  • Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas dessa linguagem para sua resolução.
  • Desvantagem: é necessário aprender as regras do pseudocódigo.

Algoritmo

Pseudocódigo ou Portugol: Exemplo - multiplicar 2 números.
ALGORITMO
	DECLARE N1, N2, M NUMÉRICO
	ESCREVA “Digite dois números”
	LEIA N1, N2
	M ← N1 * N2
	ESCREVA “Multiplicação = ”, M
FIM_ALGORITMO
						

Algoritmo

    Dados
  • Valores, informações a serem processadas pelo computador.
  • Dados de entrada são aqueles fornecidos através de uma leitura.
  • Dados de sáida são aqueles gerados pelo programa.

Algoritmo

    Tipos de Dados
  • Números inteiros/reais: 1,2; 2.3 ...
  • Valores lógicos: true/false; 1/0 ...
  • Valores alfanuméricos: cadeia de caracteres 'ABC#'...

Algoritmo

    Variáveis
  • Entidade que armazena dados provisoriamente.
  • Devem possuir: nome (rótulo), valor (dado) e tipo.

Algoritmo

    Maneiras de dar valor à uma variável
  • Atribuição: próprio progama coloca o valor dentro da variável.
  • Leitura: valor dado por uma unidade de entrada (ex: valor digitado pelo usuário).

Lista de Exercícios 01

    Resolva os exercícios utilizando:
  • Narrativa
  • Fluxograma
  • Pseudocódigo (Portugol)

Lista de Exercícios 01

    01: Extremamente Básico
  • Leia 2 valores inteiros e armazene-os nas variáveis A e B. Efetue a soma de A e B atribuindo o seu resultado na variável X.

Lista de Exercícios 01

    02: Soma Simples
  • Leia dois valores inteiros, no caso para variáveis A e B. A seguir, calcule a soma entre elas e atribua à variável SOMA. A seguir escrever o valor desta variável.

Lista de Exercícios 01

    03: Produto Simples
  • Leia dois valores inteiros. A seguir, calcule o produto entre estes dois valores e atribua esta operação à variável PROD. A seguir mostre a variável PROD com mensagem correspondente.

Lista de Exercícios 01

    04: Diferença
  • Leia quatro valores inteiros A, B, C e D. A seguir, calcule e mostre a diferença do produto de A e B pelo produto de C e D segundo a fórmula: DIFERENCA = (A * B - C * D).

Lista de Exercícios 01

    05: Cálculo Simples
  • Neste problema, deve-se ler o código de uma peça 1, o número (qtde) de peças 1, o valor unitário de cada peça 1, o código de uma peça 2, o número (qtde) de peças 2 e o valor unitário de cada peça 2. Após, calcule e mostre o valor a ser pago.

Lista de Exercícios 01

    06: Área do Círculo
  • A fórmula para calcular a área de uma circunferência é: area = π x raio2. Considerando para este problema que π = 3.14159:
  • Efetue o cálculo da área, elevando o valor de raio ao quadrado e multiplicando por π.

Lista de Exercícios 01

    07: Média 1
  • Leia 2 valores de ponto flutuante de dupla precisão A e B, que correspondem a 2 notas de um aluno. A seguir, calcule a média do aluno, sabendo que a nota A tem peso 3.5 e a nota B tem peso 7.5 (A soma dos pesos portanto é 11). Assuma que cada nota pode ir de 0 até 10.0, sempre com uma casa decimal.

Lista de Exercícios 01

    08: Média 2
  • Leia 3 valores, no caso, variáveis A, B e C, que são as três notas de um aluno. A seguir, calcule e mostre a média do aluno, sabendo que a nota A tem peso 2, a nota B tem peso 3 e a nota C tem peso 5. Considere que cada nota pode ir de 0 até 10.0, sempre com uma casa decimal.

Lista de Exercícios 01

    09: Salário
  • Escreva um programa que leia o número de um funcionário, seu número de horas trabalhadas, o valor que recebe por hora e calcula o salário desse funcionário. A seguir, mostre o número e o salário do funcionário, com duas casas decimais.

Lista de Exercícios 01

    10: Salário com Bônus
  • Faça um programa que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o total a receber no final do mês, com duas casas decimais.

Próxima Aula

  • Introdução a Linguagem C.
  • Implementação da lista de exercícios 01 em C.
  • Adaptar código para submissão no URI Judge.
  • Caso não possua compilador instalado, utilizar Compilador online.